package com.dong.rabbitmq.one;

import com.dong.rabbitmq.utils.RabbitMqUtil;
import com.rabbitmq.client.*;

/**
 * 消费者
 * @author dongjian
 */
public class Consumer {

    public static final String QUEUE_NAME = "hello";

    public static void main(String[] args) throws Exception{
        // 创建工厂
        Channel channel = RabbitMqUtil.getChannel();
        /**
         * 接收消息回调
         */
        DeliverCallback deliverCallback = (SconsumerTag,  message) -> {
            System.out.println(new String(message.getBody()));
        };
        /**
         * 取消接收消息回调
         */
        CancelCallback cancelCallback = consumerTag -> {
            System.out.println("消息消费取消接收消息");
        };
        /**
         * 消费消息
         * 参数说明：
         * 1.队列名称
         * 2.消费消息后是否自动应答，true自动应答，false手动应答
         * 3.接收消息回调
         * 4.取消接收消息回调
         */
        channel.basicConsume(QUEUE_NAME,true, deliverCallback, cancelCallback);
    }
}
